package model.rentals;

import model.EMedium;
import model.EMediumType;
import model.lendables.Lendable;
//feito
/**
 * Classe Rental Factory
 * @author DCO37
 * 	N.º 42484 Helder Ferreira
 *  N.º 45509 Luis Ferreira
 */
public class RentalFactory {

	/**
	 * Cria um Rental a partir de um EMedium. 
	 * Se o tipo e EMediumType.DOCUMENT deve ser criado um BookRental,
	 * caso contrario o EMedium e ja um Rental, o objeto e devolvido, ou seja, 
	 * um Rental geral
	 * @param m - EMedium
	 * @return BookRental ou Rental de acordo com o que estiver no EMedium m
	 */
	public Rental createRental (EMedium m) {
		 // se tipo de item a alugar e um BookRental
		if(m.getType().equals(EMediumType.DOCUMENT)){
			return new BookRental( new Lendable( m.getType(),
					m.getEMediumProperties() ) );
		}
		else{//caso contrario cria objecto Rental
			return new Rental( new Lendable( m.getType(), 
					m.getEMediumProperties() ) );	
		}
	}
}
